package com.mpyy.dao.sales;

import com.mpyy.pojo.*;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @version 1.0
 * @Description ReturnedPurchaseDaoInter
 * @Author YYJC
 * @Date 2022-03-07 9:03
 */
@Repository(value = "returnedPurchaseDao")
public interface ReturnedPurchaseDaoInter {

    /**
     * 客户退货商品查询(商品清单)
     * @param saleOrderDesc
     * @return
     */
    List<SaleOrderDesc> searchReturnedPurchase(SaleOrderDesc saleOrderDesc);

    /**
     * 查询仓库
     * @return
     */
    List<DepotInfo> searchStorehouse();

    /**
     * 商品批次表查询
     * @param saleOrderDesc
     * @return
     */
    List<SaleOrderDesc>searchCommodityBatch(SaleOrderDesc saleOrderDesc);

    /**
     * 客户与客户类型查询
     * @param customerInfo
     * @return
     */
    List<CustomerInfo> searchCustomerInfo(CustomerInfo customerInfo);

    /**
     * 查询经办人
     * @return
     */
    List<EmployeeInfo> searchEmpName();

    /**
     * 新增数据至销售退货表
     * @return
     */
    Integer updateSalesReturn(SaleReturn saleReturn);

    /**
     * 新增数据至销售退货明细表
     * @param saleReturnDesc
     * @return
     */
    Integer updateSalesReturndetail(List<SaleReturnDesc> saleReturnDesc);


    /**
     * 根据客户ID查询销售订单号(原始单号)
     * @param saleOrder
     * @return
     */
    List<SaleOrder> searchSaleCustId(SaleOrder saleOrder);


    /**
     * 修改库存商品数量
     * @param saleReturnDesc
     * @return
     */
    Integer updateInveDescInventoryNum(List<SaleReturnDesc> saleReturnDesc);


    /**
     * 修改订单退货数量
     * @param saleReturnDesc
     * @return
     */
    Integer updateSaleOrderDescNum(List<SaleReturnDesc> saleReturnDesc);


    /**
     * 新增商品变动表
     * @param saleReturnDesc
     * @return
     */
    Integer updateInventoryChange(List<SaleReturnDesc> saleReturnDesc);


    /**
     * 顾客退货左侧类别
     * @param proTypeId
     * @return
     */
    List<ProductType>searchReturnInfo(String proTypeId);

    /**
     * 顾客退货树状图
     * @param proTypeId
     * @return
     */
    List<SaleOrderDesc> searchReturnTree(String proTypeId);

    /**
     * 顾客退货历史
     * @param saleReturnDesc
     * @return
     */
    List<SaleReturn> searchReturnHistory(SaleReturnDesc saleReturnDesc);
}
